From 0e4cd3bc797ee444055dc23f5e7aba14cb89f480 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 18 Nov 2021 00:13:45 +0100 Subject: [PATCH] lookingGlass: Use Clutter.grab() for actor picking Part-of: --- js/ui/lookingGlass.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js index 433102cfb..b3e7f2117 100644 --- a/js/ui/lookingGlass.js +++ b/js/ui/lookingGlass.js @@ -558,12 +558,7 @@ var Inspector = GObject.registerClass({ eventHandler.connect('scroll-event', this._onScrollEvent.bind(this)); eventHandler.connect('motion-event', this._onMotionEvent.bind(this)); - let seat = Clutter.get_default_backend().get_default_seat(); - this._pointerDevice = seat.get_pointer(); - this._keyboardDevice = seat.get_keyboard(); - - this._pointerDevice.grab(eventHandler); - this._keyboardDevice.grab(eventHandler); + this._grab = global.stage.grab(eventHandler); // this._target is the actor currently shown by the inspector. // this._pointerTarget is the actor directly under the pointer. @@ -596,8 +591,10 @@ var Inspector = GObject.registerClass({ } _close() { - this._pointerDevice.ungrab(); - this._keyboardDevice.ungrab(); + if (this._grab) { + this._grab.dismiss(); + this._grab = null; + } this._eventHandler.destroy(); this._eventHandler = null; this.emit('closed'); -- 2.39.5